package jdk5.varargs;


/**
 * Description: jdk1.5新特性：可变参数（Varargs）
 * Java1.5增加了新特性：可变参数：适用于参数个数不确定，类型确定的情况，java把可变参数当做数组处理。注意：可变参数必须位于最后一项。
 * 当可变参数个数多余一个时，必将有一个不是最后一项，所以只支持有一个可变参数。因为参数个数不定，所以当其后边还有相同类型参数时，
 * java无法区分传入的参数属于前一个可变参数还是后边的参数，所以只能让可变参数位于最后一项。
 * 可变参数的特点：
 * 1、只能出现在参数列表的最后； 
 * 2、位于变量类型和变量名之间，前后有无空格都可以；
 * 3、调用可变参数的方法时，编译器为该可变参数隐含创建一个数组，在方法体中一数组的形式访问可变参数。
 * 
 * 个人认为：一般有用吧，感觉在工作中不是很常用
 * @author Kwum
 * @date 2017年6月16日 下午6:33:08
 * @version 1.0
 */

public class Run {

    public static void main(String[] args) {
        
        System.out.println(add(1, 2));
        System.out.println(add(1, 2, 3));
    }
    
    /**
     * 加法
     * @param x 加数
     * @param args 加数（可变参数）
     * @return x+args的总和
     * @author kwum
     */
    public static int add(int x, int ...args){
        for(int i : args){
            x+=i;
        }
        return x;
    }

}
